<?php

namespace App\Http\Controllers\home;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class AddressController extends Controller
{
	/*地址列表*/
 	public function getList(){
 		// 获得用户id
 		$h_uid = session('h_user')['h_uid'];

 		// 查询匹配用户id的所有地址数据
 		$date = DB::table('address') -> where('h_uid',$h_uid) -> get();

 		// 应用模板
 		return view('home/address/list',['date' => $date]);
 	}

 	/*添加地址*/
 	public function postAdd(Request $request){
 		// 获得要添加的数据
 		$date = $request -> except('_token');
 		if(empty($date['aname'])){
 			$date['aname'] = '未命名';
 		}
 		// 获得用户id
 		$date['h_uid'] = session('h_user')['h_uid'];

 		// 给地址表插入数据
 		$res = DB::table('address') -> insert($date);

 		// 判断插入操作结果
 		if($res){
 			return redirect('/home/address/list');
 		}else{
 			return back() -> with('error','添加地址失败');
 		}
 	}

 	/*删除地址*/
 	public function getDelete(Request $request){
 		// 获得地址id
 		$aid = $request -> input('id');

 		// 删除地址id匹配的地址项
 		$res = DB::table('address') -> where('aid',$aid) -> delete();

 		// 判断删除操作结果
 		if($res >0){
 			return redirect('/home/address/list') -> with('success','删除成功');
 		}else{
 			return redirect('/home/address/list') -> with('error','删除失败');
 		}
 	}

 	/*编辑地址页面*/
 	public function getEdit(Request $request){

 		// 获得要编辑的地址id
 		$aid = $request -> input('id');

 		// 获得地址id对应的相关数据
 		$date = [];
 		$date = DB::table('address') -> where('aid',$aid) -> where('h_uid',session('h_user')['h_uid']) -> first();
 		
 		// 引用模板
 		return view('/home/address/edit',['date'=>$date]);
 	}

 	/*更新编辑地址*/
 	public function postDoedit(Request $request){

 		// 获得地址id 
 		$aid = $request -> input('aid');

 		// 获得要修改的数据
 		$date = $request -> except('_token','aid');

 		// 对指定的地址id执行更新操作
 		$res = DB::table('address') -> where('aid',$aid) -> update($date);

 		// 判断更新结果
 		if($res > 0){
 			return redirect('/home/address/list') -> with('success','修改成功');
 		}else{
 			return redirect('/home/address/list') -> with('error','修改失败');
 		}
 	}

 	/*设置默认*/
 	public function getDefu(Request $request){

 		// 获得地址id
 		$aid = $request -> input('id');

 		// 获得用户id
 		$h_uid = session('h_user')['h_uid'];

 		// 将用户id对应的所有地址的默认字段设为0,然后将对应的地址id的默认字段设为0
 		// 即先将用户所有的地址设为非默认,然后将对应的地址id项设为默认
 		DB::table('address') -> where('h_uid',$h_uid) -> update(['defu'=>'0']);
 		$res = DB::table('address') -> where('aid',$aid) -> update(['defu'=>'1']);

 		// 判断更新结果
 		if($res>0){
 			return redirect('/home/address/list') -> with('success','更改默认地址成功');
 		}else{
 			return redirect('/home/address/list') -> with('error','更改默认地址失败');
 		}
 	}

 	/*ajax获得地址信息*/
 	public function postGetaddr(Request $request){
 		// 获得地址id
 		$aid = $request -> input('aid');

 		// 查询地址详细信息
 		$res = DB::table('address') -> where('aid',$aid) -> first();

 		// 转化json格式
 		$res = json_encode($res);

 		// 返回结果
 		echo $res;
 	}

  
}
